package net.shop.dal.dao;

import java.io.Serializable;

public interface BaseDao<T, PK extends Serializable> {
	
	/**
	 * 保存实体对象.
	 * 
	 * @param entity 对象
	 * @return
	 */	
	public void save(T entity);
	
	/**
	 * 删除实体对象.
	 * 
	 * @param entity 对象
	 * @return
	 */	
	public int delete(T entity);
	
	/**
	 * 根据ID删除实体对象.
	 * 
	 * @param id 记录ID
	 */	
	public int delete(PK id);
	
	/**
	 * 更新实体对象.
	 * 
	 * @param entity 对象
	 */	
	public int modify(T entity);
	
	/**
	 * 获取所有实体对象总数.
	 * 
	 * @return 实体对象总数
	 */	
	public int getAllCount();
	
	/**
	 * 根据ID获取实体对象.
	 * 
	 * @param id 记录ID
	 * @return 实体对象
	 */	
	public T get(PK id);
	
}
